ãµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ãæ·±ãæãäžããããã³ããšã³ããã€ã¯ããµãŒãã¹ã®åãè§£ãæŸã¡ãŸããå埩åãšæ¡åŒµæ§ã«åªããã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³æ§ç¯ã«äžå¯æ¬ ãªç¥èŠã§ãã
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ïŒã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®ããã®ãµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ã®ç¿åŸ
æ¥éã«é²åããWebéçºã®äžçã«ãããŠããã€ã¯ããµãŒãã¹ã®æ¡çšã¯ãã¹ã±ãŒã©ãã«ã§å埩åããããä¿å®æ§ã®é«ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®ç€ãšãªã£ãŠããŸãããã€ã¯ããµãŒãã¹ã¯äŒçµ±çã«ããã¯ãšã³ãã®é¢å¿äºã§ãããããã€ã¯ãããã³ããšã³ãã¢ãŒããã¯ãã£ã®å°é ã«ãããåæ§ã®ååãããã³ããšã³ãã«ãããããã€ã€ãããŸãããã®å€åã¯ããããã®ç¬ç«ããããã³ããšã³ããŠããããããªãã¡ãã€ã¯ãããã³ããšã³ãããã©ã®ããã«å¹æçã«éä¿¡ãå調ããããšããæ°ããªèª²é¡ãçã¿åºããŸããããã§ç»å Žããã®ããããã¯ãšã³ãã®ãµãŒãã¹ã¡ãã·ã¥ã®ååãæŽ»çšããŠãããã®åæ£ããããã³ããšã³ãã³ã³ããŒãã³ãã管çããããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ãšããæŠå¿µã§ãããã®ã¡ãã·ã¥ã®äžæ žããªãã®ãããµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ãšãã2ã€ã®éèŠãªæ©èœã§ãããã®å æ¬çãªã¬ã€ãã§ã¯ããããã®æŠå¿µãæ·±ãæãäžããå ç¢ãªã°ããŒãã«ããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããããã®éèŠæ§ãå®è£ æŠç¥ããã¹ããã©ã¯ãã£ã¹ã«ã€ããŠæ¢æ±ããŸãã
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ã®çè§£
ãµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ã«é£ã³èŸŒãåã«ãããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ãäœãæå³ããã®ããææ¡ããããšãéèŠã§ããåŸæ¥ã®ã¢ããªã·ãã¯ãªããã³ããšã³ããšã¯ç°ãªãããã€ã¯ãããã³ããšã³ãã¢ãŒããã¯ãã£ã¯ãŠãŒã¶ãŒã€ã³ã¿ãŒãã§ãŒã¹ããããžãã¹æ©èœããŠãŒã¶ãŒãžã£ãŒããŒãäžå¿ã«æ§æããããããå°ããç¬ç«ããŠãããã€å¯èœãªéšåã«åå²ããŸãããããã®éšåã¯ãç°ãªãããŒã ã«ãã£ãŠèªåŸçã«éçºããããã€ãã¹ã±ãŒãªã³ã°ãå¯èœã§ããããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ã¯ããããã®åæ£ããããã³ããšã³ããŠãããéã®çžäºäœçšãéä¿¡ã管çã容æã«ããæœè±¡åã¬ã€ã€ãŒãŸãã¯ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ãšããŠæ©èœããŸãã
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥å ã®äž»èŠãªã³ã³ããŒãã³ããšæŠå¿µã«ã¯ããã°ãã°ä»¥äžãå«ãŸããŸãïŒ
- ãã€ã¯ãããã³ããšã³ãïŒåã ã®èªå·±å®çµåããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ãŸãã¯ã³ã³ããŒãã³ãã
- ã³ã³ããåïŒãã€ã¯ãããã³ããšã³ããäžè²«ããŠããã±ãŒãžåããããã€ããããã«ãã䜿çšãããŸãïŒäŸïŒDockerã®äœ¿çšïŒã
- ãªãŒã±ã¹ãã¬ãŒã·ã§ã³ïŒKubernetesã®ãããªãã©ãããã©ãŒã ãããã€ã¯ãããã³ããšã³ãã³ã³ããã®ãããã€ãšã©ã€ããµã€ã¯ã«ã管çã§ããŸãã
- APIã²ãŒããŠã§ã€ / ãšããžãµãŒãã¹ïŒãŠãŒã¶ãŒãªã¯ãšã¹ãã®å ±éã®ãšã³ããªãŒãã€ã³ãã§ãããé©åãªãã€ã¯ãããã³ããšã³ããŸãã¯ããã¯ãšã³ããµãŒãã¹ã«ã«ãŒãã£ã³ã°ããŸãã
- ãµãŒãã¹ãã£ã¹ã«ããªãŒïŒãã€ã¯ãããã³ããšã³ããäºãã«ããŸãã¯ããã¯ãšã³ããµãŒãã¹ãèŠã€ããŠéä¿¡ããããã®ã¡ã«ããºã ã
- ããŒããã©ã³ã·ã³ã°ïŒå¯çšæ§ãšããã©ãŒãã³ã¹ã確ä¿ããããã«ããã€ã¯ãããã³ããšã³ããŸãã¯ããã¯ãšã³ããµãŒãã¹ã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã«çä¿¡ãã©ãã£ãã¯ã忣ãããããšã
- ãªãã¶ãŒãããªãã£ïŒå¯èŠ³æž¬æ§ïŒïŒãã€ã¯ãããã³ããšã³ãã®æ¯ãèããç£èŠããã®ã³ã°ããã¬ãŒã¹ããããã®ããŒã«ã
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ã®ç®æšã¯ããã®åæ£ããæ§è³ªããçããè€éãã管çããããã®ã€ã³ãã©ã¹ãã©ã¯ãã£ãšããŒã«ãæäŸããéåžžã«åçãªç°å¢ã§ãã£ãŠãã·ãŒã ã¬ã¹ãªãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãä¿èšŒããããšã§ãã
ãµãŒãã¹ãã£ã¹ã«ããªãŒã®éèŠãªåœ¹å²
ãã€ã¯ãããã³ããšã³ãã¢ãŒããã¯ãã£ã®ãããªåæ£ã·ã¹ãã ã§ã¯ããµãŒãã¹ïŒãã®å Žåã¯ãã€ã¯ãããã³ããšã³ããšããã«é¢é£ããããã¯ãšã³ããµãŒãã¹ïŒã¯ãåçã«ãäºããèŠã€ããŠéä¿¡ã§ããå¿ èŠããããŸãããµãŒãã¹ã¯é »ç¹ã«èµ·åãã¹ã±ãŒã«ããŠã³ããŸãã¯åãããã€ãããããããã®ãããã¯ãŒã¯äžã®å ŽæïŒIPã¢ãã¬ã¹ãšããŒãïŒã¯é »ç¹ã«å€ããå¯èœæ§ããããŸãããµãŒãã¹ãã£ã¹ã«ããªãŒãšã¯ããµãŒãã¹ãæåèšå®ãããŒãã³ãŒãã£ã³ã°ãå¿ èŠãšããã«ã察話ããå¿ èŠã®ããå¥ã®ãµãŒãã¹ã®ãããã¯ãŒã¯äžã®å ŽæãèŠã€ããããšãå¯èœã«ããããã»ã¹ã§ãã
ãªããµãŒãã¹ãã£ã¹ã«ããªãŒã¯ããã³ããšã³ããã€ã¯ããµãŒãã¹ã«äžå¯æ¬ ãªã®ãïŒ
- åçãªç°å¢ïŒã¯ã©ãŠããã€ãã£ããªãããã€ã¡ã³ãã¯æ¬è³ªçã«åçã§ããã³ã³ããã¯çåœã§ããããªãŒãã¹ã±ãŒãªã³ã°ã¯ãã€ã§ããµãŒãã¹ã®å®è¡ã€ã³ã¹ã¿ã³ã¹æ°ã倿Žã§ããŸããæåã§ã®IP/ããŒã管çã¯éçŸå®çã§ãã
- åé¢ïŒãã«ãããªã³ã°ïŒïŒãã€ã¯ãããã³ããšã³ãã¯ç¬ç«ããŠããã¹ãã§ãããµãŒãã¹ãã£ã¹ã«ããªãŒã¯ããµãŒãã¹ã®ã³ã³ã·ã¥ãŒããŒããããã¥ãŒãµãŒããåé¢ãããããã¥ãŒãµãŒãã³ã³ã·ã¥ãŒããŒã«åœ±é¿ãäžããããšãªãå Žæãã€ã³ã¹ã¿ã³ã¹æ°ã倿Žã§ããããã«ããŸãã
- å埩åïŒã¬ãžãªãšã³ã¹ïŒïŒãããµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ãäžå¥åº·ã«ãªã£ãå ŽåããµãŒãã¹ãã£ã¹ã«ããªãŒã¯ã³ã³ã·ã¥ãŒããŒãå¥åº·ãªä»£æ¿ã€ã³ã¹ã¿ã³ã¹ãèŠã€ããã®ãå©ããŸãã
- ã¹ã±ãŒã©ããªãã£ïŒãã©ãã£ãã¯ãå¢å ãããšããã€ã¯ãããã³ããšã³ããŸãã¯ããã¯ãšã³ããµãŒãã¹ã®æ°ããã€ã³ã¹ã¿ã³ã¹ãèµ·åã§ããŸãããµãŒãã¹ãã£ã¹ã«ããªãŒã«ããããããã®æ°ããã€ã³ã¹ã¿ã³ã¹ãç»é²ãããããã«å©çšå¯èœã«ãªããŸãã
- ããŒã ã®èªåŸæ§ïŒããŒã ã¯ãä»ã®ãµãŒãã¹ãèªåãã¡ãèŠã€ããããããšãç¥ã£ãŠãããããèªåŸçã«ãµãŒãã¹ããããã€ããã¹ã±ãŒãªã³ã°ã§ããŸãã
ãµãŒãã¹ãã£ã¹ã«ããªãŒã®ãã¿ãŒã³
ãµãŒãã¹ãã£ã¹ã«ããªãŒãå®è£ ããã«ã¯ãäž»ã«2ã€ã®ãã¿ãŒã³ããããŸãïŒ
1. ã¯ã©ã€ã¢ã³ããµã€ããã£ã¹ã«ããªãŒ
ãã®ãã¿ãŒã³ã§ã¯ãã¯ã©ã€ã¢ã³ãïŒãã€ã¯ãããã³ããšã³ããŸãã¯ãã®èª¿æŽã¬ã€ã€ãŒïŒããµãŒãã¹ã¬ãžã¹ããªã«åãåãããŠãå¿ èŠãªãµãŒãã¹ã®å ŽæãçºèŠãã責任ãè² ããŸããå©çšå¯èœãªã€ã³ã¹ã¿ã³ã¹ã®ãªã¹ããååŸãããšãã¯ã©ã€ã¢ã³ãã¯ã©ã®ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããããæ±ºå®ããŸãã
ä»çµã¿ïŒ
- ãµãŒãã¹ç»é²ïŒãã€ã¯ãããã³ããšã³ãïŒãŸãã¯ãã®ãµãŒããŒãµã€ãã³ã³ããŒãã³ãïŒãèµ·åãããšããã®ãããã¯ãŒã¯äžã®å ŽæïŒIPã¢ãã¬ã¹ãããŒãïŒãäžå€®éæš©çãªãµãŒãã¹ã¬ãžã¹ããªã«ç»é²ããŸãã
- ãµãŒãã¹åãåããïŒã¯ã©ã€ã¢ã³ããç¹å®ã®ãµãŒãã¹ãšéä¿¡ããå¿ èŠãããå ŽåïŒäŸïŒã補åã«ã¿ãã°ããã€ã¯ãããã³ããšã³ããã補åAPIãããã¯ãšã³ããµãŒãã¹ããããŒã¿ãååŸããå¿ èŠãããå ŽåïŒããµãŒãã¹ã¬ãžã¹ããªã«å¯Ÿè±¡ãµãŒãã¹ã®å©çšå¯èœãªã€ã³ã¹ã¿ã³ã¹ãåãåãããŸãã
- ã¯ã©ã€ã¢ã³ããµã€ãããŒããã©ã³ã·ã³ã°ïŒãµãŒãã¹ã¬ãžã¹ããªã¯å©çšå¯èœãªã€ã³ã¹ã¿ã³ã¹ã®ãªã¹ããè¿ããŸããã¯ã©ã€ã¢ã³ãã¯ãã®åŸãã¯ã©ã€ã¢ã³ããµã€ãã®ããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ïŒäŸïŒã©ãŠã³ãããã³ãæå°æ¥ç¶ïŒã䜿çšããŠã€ã³ã¹ã¿ã³ã¹ãéžæãããªã¯ãšã¹ããè¡ããŸãã
ããŒã«ãšæè¡ïŒ
- ãµãŒãã¹ã¬ãžã¹ããªïŒEureka (Netflix), Consul, etcd, Zookeeperã
- ã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªïŒãããã®ããŒã«ãæäŸããã©ã€ãã©ãªã§ãããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ããã¬ãŒã ã¯ãŒã¯ãšçµ±åããŠç»é²ãšçºèŠãåŠçããŸãã
ã¯ã©ã€ã¢ã³ããµã€ããã£ã¹ã«ããªãŒã®é·æïŒ
- ããã·ã³ãã«ãªã€ã³ãã©ïŒçºèŠã®ããã®å°çšãããã·ã¬ã€ã€ãŒãäžèŠã
- çŽæ¥éä¿¡ïŒã¯ã©ã€ã¢ã³ãã¯ãµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ãšçŽæ¥éä¿¡ãããããé å»¶ãå°ãªãå¯èœæ§ãããã
ã¯ã©ã€ã¢ã³ããµã€ããã£ã¹ã«ããªãŒã®çæïŒ
- ã¯ã©ã€ã¢ã³ãåŽã®è€éãïŒã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã¯çºèŠããžãã¯ãšããŒããã©ã³ã·ã³ã°ãå®è£ ããå¿ èŠããããããã¯ããã³ããšã³ããã¬ãŒã ã¯ãŒã¯ã§ã¯å°é£ãªå Žåãããã
- ã¬ãžã¹ããªãšã®å¯çµåïŒã¯ã©ã€ã¢ã³ãã¯ãµãŒãã¹ã¬ãžã¹ããªã®APIã«çµåãããã
- èšèª/ãã¬ãŒã ã¯ãŒã¯åºæïŒçºèŠããžãã¯ã¯åããã³ããšã³ãæè¡ã¹ã¿ãã¯ããšã«å®è£ ããå¿ èŠãããã
2. ãµãŒããŒãµã€ããã£ã¹ã«ããªãŒ
ãã®ãã¿ãŒã³ã§ã¯ãã¯ã©ã€ã¢ã³ãã¯æ¢ç¥ã®ã«ãŒã¿ãŒãŸãã¯ããŒããã©ã³ãµãŒã«ãªã¯ãšã¹ããéä¿¡ããŸãããã®ã«ãŒã¿ãŒ/ããŒããã©ã³ãµãŒããµãŒãã¹ã¬ãžã¹ããªã«åãåããããªã¯ãšã¹ãã察象ãµãŒãã¹ã®é©åãªã€ã³ã¹ã¿ã³ã¹ã«è»¢éãã責任ãè² ããŸããã¯ã©ã€ã¢ã³ãã¯åºç€ãšãªããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ãèªèããŸããã
ä»çµã¿ïŒ
- ãµãŒãã¹ç»é²ïŒã¯ã©ã€ã¢ã³ããµã€ããã£ã¹ã«ããªãŒãšåæ§ã«ããµãŒãã¹ã¯ãµãŒãã¹ã¬ãžã¹ããªã«ãã®å Žæãç»é²ããŸãã
- ã¯ã©ã€ã¢ã³ããªã¯ãšã¹ãïŒã¯ã©ã€ã¢ã³ãã¯ãã«ãŒã¿ãŒ/ããŒããã©ã³ãµãŒã®åºå®ãããæ¢ç¥ã®ã¢ãã¬ã¹ã«ãªã¯ãšã¹ããéä¿¡ãããã°ãã°å¯Ÿè±¡ãµãŒãã¹ãååã§æå®ããŸãïŒäŸïŒ`GET /api/products`ïŒã
- ãµãŒããŒãµã€ãã«ãŒãã£ã³ã°ïŒã«ãŒã¿ãŒ/ããŒããã©ã³ãµãŒã¯ãªã¯ãšã¹ããåãåãããµãŒãã¹ã¬ãžã¹ããªã«ãproductsããµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ãåãåããããµãŒããŒãµã€ãã®ããŒããã©ã³ã·ã³ã°ã䜿çšããŠã€ã³ã¹ã¿ã³ã¹ãéžæãããã®ã€ã³ã¹ã¿ã³ã¹ã«ãªã¯ãšã¹ãã転éããŸãã
ããŒã«ãšæè¡ïŒ
- APIã²ãŒããŠã§ã€ïŒKong, Apigee, AWS API Gateway, Traefikã
- ãµãŒãã¹ã¡ãã·ã¥ãããã·ïŒEnvoy Proxy (Istio, App Meshã§äœ¿çš), Linkerdã
- ã¯ã©ãŠãããŒããã©ã³ãµãŒïŒAWS ELB, Google Cloud Load Balancing, Azure Load Balancerã
ãµãŒããŒãµã€ããã£ã¹ã«ããªãŒã®é·æïŒ
- ã¯ã©ã€ã¢ã³ãã®ç°¡çŽ åïŒããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ã¯çºèŠããžãã¯ãå®è£ ããå¿ èŠããªããæ¢ç¥ã®ãšã³ããã€ã³ãã«ãªã¯ãšã¹ããéä¿¡ããã ãã
- äžå€®éæš©çãªå¶åŸ¡ïŒçºèŠãšã«ãŒãã£ã³ã°ããžãã¯ãäžå€®ã§ç®¡çããããããæŽæ°ã容æã
- èšèªéäŸåïŒããã³ããšã³ãã®æè¡ã¹ã¿ãã¯ã«é¢ä¿ãªãæ©èœããã
- 芳枬æ§ã®åäžïŒäžå€®éæš©çãªãããã·ã¯ããã®ã³ã°ããã¬ãŒã¹ãã¡ããªã¯ã¹ã容æã«åŠçã§ããã
ãµãŒããŒãµã€ããã£ã¹ã«ããªãŒã®çæïŒ
- 远å ã®ãããïŒãããã·/ããŒããã©ã³ãµãŒãä»ãã远å ã®ãããã¯ãŒã¯ããããçºçããé å»¶ãå¢å ããå¯èœæ§ãããã
- ã€ã³ãã©ã®è€éãïŒAPIã²ãŒããŠã§ã€ãŸãã¯ãããã·ã¬ã€ã€ãŒã®ç®¡çãå¿ èŠã
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã«é©ãããµãŒãã¹ãã£ã¹ã«ããªãŒã®éžæ
ããã³ããšã³ããã€ã¯ããµãŒãã¹ãç¹ã«UIã®ç°ãªãéšåãç°ãªãããŒã ã«ãã£ãŠç°ãªãæè¡ã䜿çšããŠéçºãããå¯èœæ§ã®ãããã€ã¯ãããã³ããšã³ãã¢ãŒããã¯ãã£ã§ã¯ããµãŒããŒãµã€ããã£ã¹ã«ããªãŒãããå®çšçã§ä¿å®ããããã¢ãããŒãã§ããããšãå€ãã§ãããã®çç±ã¯ä»¥äžã®éãã§ãïŒ
- ãã¬ãŒã ã¯ãŒã¯ããã®ç¬ç«ïŒããã³ããšã³ãéçºè ã¯ãè€éãªãµãŒãã¹ãã£ã¹ã«ããªãŒã¯ã©ã€ã¢ã³ãã©ã€ãã©ãªã®çµ±åãæ°ã«ããããšãªããUIã³ã³ããŒãã³ãã®æ§ç¯ã«éäžã§ããŸãã
- äžå€®éæš©çãªç®¡çïŒããã¯ãšã³ããµãŒãã¹ãä»ã®ãã€ã¯ãããã³ããšã³ããžã®çºèŠãšã«ãŒãã£ã³ã°ã®è²¬ä»»ã¯ããã©ãããã©ãŒã ããŒã ã«ãã£ãŠç¶æãããAPIã²ãŒããŠã§ã€ãŸãã¯å°çšã®ã«ãŒãã£ã³ã°ã¬ã€ã€ãŒã«ãã£ãŠç®¡çã§ããŸãã
- äžè²«æ§ïŒãã¹ãŠã®ãã€ã¯ãããã³ããšã³ãã«ãããçµ±äžãããçºèŠã¡ã«ããºã ã¯ãäžè²«ããæ¯ãèããšå®¹æãªãã©ãã«ã·ã¥ãŒãã£ã³ã°ãä¿èšŒããŸãã
eã³ããŒã¹ãµã€ãã補åäžèЧã補å詳现ãã·ã§ããã³ã°ã«ãŒãçšã«å¥ã ã®ãã€ã¯ãããã³ããšã³ããæã£ãŠããã·ããªãªãèããŠã¿ãŸãããããããã®ãã€ã¯ãããã³ããšã³ãã¯ãããŸããŸãªããã¯ãšã³ããµãŒãã¹ïŒäŸïŒ`product-service`ã`inventory-service`ã`cart-service`ïŒãåŒã³åºãå¿ èŠããããããããŸãããAPIã²ãŒããŠã§ã€ã¯åäžã®ãšã³ããªãã€ã³ããšããŠæ©èœããåãªã¯ãšã¹ãã«å¯ŸããŠæ£ããããã¯ãšã³ããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ãçºèŠããããã«å¿ããŠã«ãŒãã£ã³ã°ã§ããŸããåæ§ã«ããããã€ã¯ãããã³ããšã³ããå¥ã®ãã€ã¯ãããã³ããšã³ãã«ãã£ãŠã¬ã³ããªã³ã°ãããããŒã¿ãååŸããå¿ èŠãããå ŽåïŒäŸïŒè£œåäžèЧå ã§è£œåäŸ¡æ Œã衚瀺ããïŒãã«ãŒãã£ã³ã°ã¬ã€ã€ãŒãŸãã¯BFFïŒBackend for FrontendïŒããµãŒãã¹ãã£ã¹ã«ããªãŒãä»ããŠãããä¿é²ã§ããŸãã
ããŒããã©ã³ã·ã³ã°ã®æè¡
ãµãŒãã¹ãçºèŠãããåŸã次ã®éèŠãªã¹ãããã¯ãçä¿¡ãã©ãã£ãã¯ããµãŒãã¹ã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã«å¹æçã«åæ£ãããããšã§ããããŒããã©ã³ã·ã³ã°ã¯ããããã¯ãŒã¯ãã©ãã£ãã¯ãŸãã¯èšç®ã¯ãŒã¯ããŒããè€æ°ã®ã³ã³ãã¥ãŒã¿ãŸãã¯ãªãœãŒã¹ã®ãããã¯ãŒã¯ã«åæ£ãããããã»ã¹ã§ããããŒããã©ã³ã·ã³ã°ã®äž»ãªç®æšã¯æ¬¡ã®ãšããã§ãïŒ
- ã¹ã«ãŒãããã®æå€§åïŒã·ã¹ãã ãã§ããã ãå€ãã®ãªã¯ãšã¹ããåŠçã§ããããã«ããã
- å¿çæéã®æå°åïŒãŠãŒã¶ãŒãè¿ éãªå¿çãåãåããããã«ããã
- åäžãªãœãŒã¹ã®éè² è·åé¿ïŒããããäžã€ã®ã€ã³ã¹ã¿ã³ã¹ãããã«ããã¯ã«ãªãã®ãé²ãã
- å¯çšæ§ãšä¿¡é Œæ§ã®åäžïŒäžã€ã®ã€ã³ã¹ã¿ã³ã¹ãæ éããå Žåããã©ãã£ãã¯ãå¥åº·ãªã€ã³ã¹ã¿ã³ã¹ã«ãªãã€ã¬ã¯ãã§ããã
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ã®æèã«ãããããŒããã©ã³ã·ã³ã°
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã®æèã§ã¯ãããŒããã©ã³ã·ã³ã°ã¯ããŸããŸãªã¬ãã«ã§é©çšãããŸãïŒ
- APIã²ãŒããŠã§ã€/ãšããžãµãŒãã¹ã®ããŒããã©ã³ã·ã³ã°ïŒãã€ã¯ãããã³ããšã³ãã¢ããªã±ãŒã·ã§ã³ãžã®ãšã³ããªãŒãã€ã³ããŸãã¯APIã²ãŒããŠã§ã€ã®è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã«çä¿¡ãŠãŒã¶ãŒãã©ãã£ãã¯ã忣ãããã
- ããã¯ãšã³ããµãŒãã¹ã®ããŒããã©ã³ã·ã³ã°ïŒãã€ã¯ãããã³ããšã³ããŸãã¯APIã²ãŒããŠã§ã€ããã®ãªã¯ãšã¹ãããå©çšå¯èœãªããã¯ãšã³ããã€ã¯ããµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ã«åæ£ãããã
- åäžãã€ã¯ãããã³ããšã³ãã®ã€ã³ã¹ã¿ã³ã¹ã®ããŒããã©ã³ã·ã³ã°ïŒç¹å®ã®ãã€ã¯ãããã³ããšã³ããã¹ã±ãŒã©ããªãã£ã®ããã«è€æ°ã®ã€ã³ã¹ã¿ã³ã¹ã§ãããã€ãããŠããå Žåããããã®ã€ã³ã¹ã¿ã³ã¹ãžã®ãã©ãã£ãã¯ããã©ã³ã¹ãããå¿ èŠãããã
äžè¬çãªããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã
ããŒããã©ã³ãµãŒã¯ãã©ã®ã€ã³ã¹ã¿ã³ã¹ã«ãã©ãã£ãã¯ãéä¿¡ããããæ±ºå®ããããã«ããŸããŸãªã¢ã«ãŽãªãºã ã䜿çšããŸããã¢ã«ãŽãªãºã ã®éžæã¯ãããã©ãŒãã³ã¹ãšãªãœãŒã¹å©çšçã«åœ±é¿ãäžããå¯èœæ§ããããŸãã
1. ã©ãŠã³ãããã³
ããã¯æãåçŽãªã¢ã«ãŽãªãºã ã®äžã€ã§ãããªã¯ãšã¹ãã¯ãªã¹ãå ã®åãµãŒããŒã«é çªã«åæ£ãããŸãããªã¹ãã®æåŸã«å°éãããšãæåããåã³å§ãŸããŸãã
äŸïŒãµãŒããŒAãBãCããªã¯ãšã¹ãïŒ1->Aã2->Bã3->Cã4->Aã5->Bããªã©ã
é·æïŒå®è£ ãç°¡åã§ããµãŒããŒãåæ§ã®å®¹éãæã€å Žåã«è² è·ãåçã«åæ£ããã
çæïŒãµãŒããŒã®è² è·ãå¿çæéãèæ ®ããªããé ããµãŒããŒã§ããªã¯ãšã¹ããåãåã£ãŠããŸãããšãããã
2. å éã©ãŠã³ãããã³
ã©ãŠã³ãããã³ã«äŒŒãŠããŸããããµãŒããŒã«ã¯ãã®çžå¯Ÿçãªèœåã瀺ããéã¿ããå²ãåœãŠãããŸããéã¿ã倧ãããµãŒããŒã¯ããå€ãã®ãªã¯ãšã¹ããåãåããŸããããã¯ãããŒããŠã§ã¢ä»æ§ãç°ãªããµãŒããŒãããå Žåã«äŸ¿å©ã§ãã
äŸïŒãµãŒããŒAïŒéã¿2ïŒããµãŒããŒBïŒéã¿1ïŒããªã¯ãšã¹ãïŒAãAãBãAãAãBã
é·æïŒãµãŒããŒã®èœåã®éããèæ ®ããã
çæïŒäŸç¶ãšããŠå®éã®ãµãŒããŒè² è·ãå¿çæéãèæ ®ããªãã
3. æå°æ¥ç¶ïŒLeast ConnectionïŒ
ãã®ã¢ã«ãŽãªãºã ã¯ãã¢ã¯ãã£ããªæ¥ç¶ãæãå°ãªããµãŒããŒã«ãã©ãã£ãã¯ãåããŸããããã¯ããµãŒããŒã®çŸåšã®è² è·ãèæ ®ãããããåçãªã¢ãããŒãã§ãã
äŸïŒãµãŒããŒAã«5ã€ã®æ¥ç¶ãããããµãŒããŒBã«2ã€ã®æ¥ç¶ãããå Žåãæ°ãããªã¯ãšã¹ãã¯ãµãŒããŒBã«éãããã
é·æïŒçŸåšã®ãµãŒããŒã¢ã¯ãã£ããã£ã«åºã¥ããŠè² è·ããã广çã«åæ£ããã
çæïŒåãµãŒããŒã®ã¢ã¯ãã£ããªæ¥ç¶ã远跡ããå¿ èŠãããããªãŒããŒããããå¢å ããã
4. å éæå°æ¥ç¶
æå°æ¥ç¶ãšãµãŒããŒã®éã¿ãçµã¿åããããã®ã§ãããã®éã¿ã«å¯ŸããŠã¢ã¯ãã£ããªæ¥ç¶ãæãå°ãªããµãŒããŒã次ã®ãªã¯ãšã¹ããåãåããŸãã
é·æïŒäž¡æ¹ã®é·æãå Œãåãã â ãµãŒããŒã®èœåãšçŸåšã®è² è·ãèæ ®ããã
çæïŒå®è£ ãšç®¡çãæãè€éã
5. IPããã·ã¥
ãã®æ¹æ³ã¯ãã¯ã©ã€ã¢ã³ãã®IPã¢ãã¬ã¹ã®ããã·ã¥ã䜿çšããŠãã©ã®ãµãŒããŒããªã¯ãšã¹ããåãåãããæ±ºå®ããŸããããã«ãããç¹å®ã®ã¯ã©ã€ã¢ã³ãIPã¢ãã¬ã¹ããã®ãã¹ãŠã®ãªã¯ãšã¹ããäžè²«ããŠåããµãŒããŒã«éä¿¡ãããããšãä¿èšŒãããŸããããã¯ããµãŒããŒäžã§ã»ãã·ã§ã³ç¶æ ãç¶æããã¢ããªã±ãŒã·ã§ã³ã«äŸ¿å©ã§ãã
äŸïŒã¯ã©ã€ã¢ã³ãIP 192.168.1.100ããµãŒããŒAã«ããã·ã¥ãããããã®IPããã®åŸç¶ã®ãã¹ãŠã®ãªã¯ãšã¹ãã¯ãµãŒããŒAã«éãããã
é·æïŒã¹ããŒããã«ãªã¢ããªã±ãŒã·ã§ã³ã®ã»ãã·ã§ã³æ°žç¶æ§ãä¿èšŒããã
çæïŒå€ãã®ã¯ã©ã€ã¢ã³ããåäžã®IPãå ±æããŠããå ŽåïŒäŸïŒNATã²ãŒããŠã§ã€ããããã·ã®èåŸïŒãè² è·åæ£ãäžåäžã«ãªãå¯èœæ§ãããããµãŒããŒãããŠã³ãããšãããã«å²ãåœãŠããããã¹ãŠã®ã¯ã©ã€ã¢ã³ãã圱é¿ãåããã
6. æå°å¿çæé
ã¢ã¯ãã£ããªæ¥ç¶ãæãå°ãªããå¹³åå¿çæéãæãçããµãŒããŒã«ãã©ãã£ãã¯ãåããŸããããã¯ãè² è·ãšå¿çæ§ã®äž¡æ¹ãæé©åããããšãç®æããŸãã
é·æïŒãŠãŒã¶ãŒã«æéã®å¿çãæäŸããããšã«çŠç¹ãåœãŠãã
çæïŒå¿çæéã®ããé«åºŠãªç£èŠãå¿ èŠã
ç°ãªãã¬ã€ã€ãŒã§ã®ããŒããã©ã³ã·ã³ã°
ã¬ã€ã€ãŒ4ïŒãã©ã³ã¹ããŒãå±€ïŒããŒããã©ã³ã·ã³ã°
ãã©ã³ã¹ããŒãå±€ïŒTCP/UDPïŒã§åäœããŸããIPã¢ãã¬ã¹ãšããŒãã«åºã¥ããŠãã©ãã£ãã¯ã転éããŸããé«éã§å¹ççã§ããããã©ãã£ãã¯ã®å å®¹ãæ€æ»ããŸããã
äŸïŒãããã¯ãŒã¯ããŒããã©ã³ãµãŒããTCPæ¥ç¶ãããã¯ãšã³ããµãŒãã¹ã®ç°ãªãã€ã³ã¹ã¿ã³ã¹ã«åæ£ãããã
ã¬ã€ã€ãŒ7ïŒã¢ããªã±ãŒã·ã§ã³å±€ïŒããŒããã©ã³ã·ã³ã°
ã¢ããªã±ãŒã·ã§ã³å±€ïŒHTTP/HTTPSïŒã§åäœããŸããHTTPããããŒãURLãã¯ãããŒãªã©ã®ãã©ãã£ãã¯ã®å å®¹ãæ€æ»ããŠãããã€ã³ããªãžã§ã³ããªã«ãŒãã£ã³ã°æ±ºå®ãè¡ãããšãã§ããŸããããã¯APIã²ãŒããŠã§ã€ã§ãã䜿çšãããŸãã
äŸïŒAPIã²ãŒããŠã§ã€ããURLãã¹ã«åºã¥ããŠ`/api/products`ãªã¯ãšã¹ãã補åãµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ã«ã`/api/cart`ãªã¯ãšã¹ããã«ãŒããµãŒãã¹ã®ã€ã³ã¹ã¿ã³ã¹ã«ã«ãŒãã£ã³ã°ããã
å®è·µã«ãããããŒããã©ã³ã·ã³ã°ã®å®è£
1. ã¯ã©ãŠããããã€ããŒã®ããŒããã©ã³ãµãŒïŒ
äž»èŠãªã¯ã©ãŠããããã€ããŒïŒAWSãAzureãGCPïŒã¯ããããŒãžãããŒããã©ã³ã·ã³ã°ãµãŒãã¹ãæäŸããŠããŸãããããã¯éåžžã«ã¹ã±ãŒã©ãã«ã§ä¿¡é Œæ§ãé«ãã圌ãã®ã³ã³ãã¥ãŒãã£ã³ã°ãµãŒãã¹ïŒäŸïŒEC2ãAKSãGKEïŒãšã·ãŒã ã¬ã¹ã«çµ±åãããŸãã
- AWS: Elastic Load Balancing (ELB) - Application Load Balancer (ALB), Network Load Balancer (NLB), Gateway Load Balancer (GLB)ãALBã¯ã¬ã€ã€ãŒ7ã§ãããHTTP/Sãã©ãã£ãã¯ã§äžè¬çã«äœ¿çšãããŸãã
- Azure: Azure Load Balancer, Application Gatewayã
- GCP: Cloud Load Balancing (HTTP(S) Load Balancing, TCP/SSL Proxy Load Balancing)ã
ãããã®ãµãŒãã¹ã¯ãçµã¿èŸŒã¿ã®ãã«ã¹ãã§ãã¯ãSSLçµç«¯ãããŸããŸãªããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ã®ãµããŒãããã°ãã°æäŸããŸãã
2. APIã²ãŒããŠã§ã€ïŒKongãTraefikãApigeeã®ãããªAPIã²ãŒããŠã§ã€ã¯ããã°ãã°ããŒããã©ã³ã·ã³ã°æ©èœãçµã¿èŸŒãã§ããŸãããããã¯å®çŸ©ãããã«ãŒã«ã«åºã¥ããŠããã¯ãšã³ããµãŒãã¹ã«ãã©ãã£ãã¯ãã«ãŒãã£ã³ã°ããå©çšå¯èœãªã€ã³ã¹ã¿ã³ã¹éã§ããã忣ãããããšãã§ããŸãã
äŸïŒãã€ã¯ãããã³ããšã³ãããŒã ã¯ã`api.example.com/users`ãžã®ãã¹ãŠã®ãªã¯ãšã¹ãã`user-service`ã¯ã©ã¹ã¿ãŒã«ã«ãŒãã£ã³ã°ããããã«APIã²ãŒããŠã§ã€ãèšå®ã§ããŸããã²ãŒããŠã§ã€ã¯ãïŒãµãŒãã¹ãã£ã¹ã«ããªãŒãéããŠïŒ`user-service`ã®å¥åº·ãªã€ã³ã¹ã¿ã³ã¹ãèªèããéžæãããã¢ã«ãŽãªãºã ã䜿çšããŠçä¿¡ãªã¯ãšã¹ãããããã®éã§ããŒããã©ã³ã¹ããŸãã
3. ãµãŒãã¹ã¡ãã·ã¥ãããã·ïŒäŸïŒEnvoy, LinkerdïŒïŒå®å šãªãµãŒãã¹ã¡ãã·ã¥ïŒIstioãLinkerdãªã©ïŒã䜿çšããå ŽåããµãŒãã¹ã¡ãã·ã¥ã®ããŒã¿ãã¬ãŒã³ïŒEnvoyã®ãããªãããã·ã§æ§æãããïŒããµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ã®äž¡æ¹ãèªåçã«åŠçããŸãããããã·ã¯ãµãŒãã¹ããã®ãã¹ãŠã®çºä¿¡ãã©ãã£ãã¯ãååãããããé©åãªå®å ã«ã€ã³ããªãžã§ã³ãã«ã«ãŒãã£ã³ã°ããã¢ããªã±ãŒã·ã§ã³ã«ä»£ãã£ãŠããŒããã©ã³ã·ã³ã°ãå®è¡ããŸãã
äŸïŒãããã€ã¯ãããã³ããšã³ããå¥ã®ãµãŒãã¹ã«HTTPãªã¯ãšã¹ããè¡ãããã€ã¯ãããã³ããšã³ããšå ±ã«æ³šå ¥ãããEnvoyãããã·ã¯ããµãŒãã¹ãã£ã¹ã«ããªãŒã¡ã«ããºã ïŒå€ãã®å ŽåãKubernetes DNSãŸãã¯ã«ã¹ã¿ã ã¬ãžã¹ããªïŒãä»ããŠãµãŒãã¹ã®ã¢ãã¬ã¹ã解決ããæ¬¡ã«ããŒããã©ã³ã·ã³ã°ããªã·ãŒïŒãµãŒãã¹ã¡ãã·ã¥ã®ã³ã³ãããŒã«ãã¬ãŒã³ã§èšå®ïŒãé©çšããŠã察象ãµãŒãã¹ã®å¥åº·ãªã€ã³ã¹ã¿ã³ã¹ãéžæããŸãã
ãµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ã®çµ±å
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ã®åã¯ããµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ã®ã·ãŒã ã¬ã¹ãªçµ±åããçãŸããŸãããããã¯ç¬ç«ããæ©èœã§ã¯ãªãããããå調ããŠåãè£å®çãªã¡ã«ããºã ã§ãã
å žåçãªãããŒïŒ
- ãµãŒãã¹ç»é²ïŒãã€ã¯ãããã³ããšã³ãã€ã³ã¹ã¿ã³ã¹ãšããã¯ãšã³ããµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ããäžå€®ã®ãµãŒãã¹ã¬ãžã¹ããªïŒäŸïŒKubernetes DNS, Consul, EurekaïŒã«èªèº«ãç»é²ããŸãã
- ãã£ã¹ã«ããªãŒïŒçºèŠïŒïŒãªã¯ãšã¹ããè¡ãå¿ èŠããããŸããäžéã³ã³ããŒãã³ãïŒAPIã²ãŒããŠã§ã€ããµãŒãã¹ãããã·ããŸãã¯ã¯ã©ã€ã¢ã³ããµã€ããªãŸã«ãïŒããµãŒãã¹ã¬ãžã¹ããªã«åãåããã察象ãµãŒãã¹ã®å©çšå¯èœãªãããã¯ãŒã¯äžã®å Žæã®ãªã¹ããååŸããŸãã
- ããŒããã©ã³ã·ã³ã°ã®æ±ºå®ïŒåãåããããªã¹ããšèšå®ãããããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ã«åºã¥ããŠãäžéã³ã³ããŒãã³ããç¹å®ã®ã€ã³ã¹ã¿ã³ã¹ãéžæããŸãã
- ãªã¯ãšã¹ãã®è»¢éïŒãªã¯ãšã¹ããéžæãããã€ã³ã¹ã¿ã³ã¹ã«éä¿¡ãããŸãã
- ãã«ã¹ãã§ãã¯ïŒããŒããã©ã³ãµãŒãŸãã¯ãµãŒãã¹ã¬ãžã¹ããªã¯ãç»é²ãããã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠç¶ç¶çã«ãã«ã¹ãã§ãã¯ãå®è¡ããŸããäžå¥åº·ãªã€ã³ã¹ã¿ã³ã¹ã¯å©çšå¯èœãªã¿ãŒã²ããã®ããŒã«ããåé€ããããªã¯ãšã¹ããéä¿¡ãããã®ãé²ããŸãã
ã·ããªãªäŸïŒã°ããŒãã«eã³ããŒã¹ãã©ãããã©ãŒã
ãã€ã¯ãããã³ããšã³ããšãã€ã¯ããµãŒãã¹ã§æ§ç¯ãããã°ããŒãã«ãªeã³ããŒã¹ãã©ãããã©ãŒã ãæ³åããŠã¿ãŠãã ããïŒ
- ãŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ïŒãšãŒãããã®ãŠãŒã¶ãŒã補åã«ã¿ãã°ã«ã¢ã¯ã»ã¹ããŸãã圌ãã®ãªã¯ãšã¹ãã¯ãŸãã°ããŒãã«ããŒããã©ã³ãµãŒã«å°éããããããæãè¿ãå©çšå¯èœãªãšã³ããªãŒãã€ã³ãïŒäŸïŒãšãŒãããã®APIã²ãŒããŠã§ã€ïŒã«èªå°ãããŸãã
- APIã²ãŒããŠã§ã€ïŒãšãŒãããã®APIã²ãŒããŠã§ã€ã補åããŒã¿ã®ãªã¯ãšã¹ããåãåããŸãã
- ãµãŒãã¹ãã£ã¹ã«ããªãŒïŒAPIã²ãŒããŠã§ã€ïŒãµãŒããŒãµã€ããã£ã¹ã«ããªãŒã¯ã©ã€ã¢ã³ããšããŠæ©èœïŒã¯ããµãŒãã¹ã¬ãžã¹ããªïŒäŸïŒKubernetesã¯ã©ã¹ã¿ãŒã®DNSïŒã«åãåããã`product-catalog-service`ã®å©çšå¯èœãªã€ã³ã¹ã¿ã³ã¹ïŒãšãŒãããã®ããŒã¿ã»ã³ã¿ãŒã«ãããã€ãããŠããå¯èœæ§ãããïŒãèŠã€ããŸãã
- ããŒããã©ã³ã·ã³ã°ïŒAPIã²ãŒããŠã§ã€ã¯ãããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ïŒäŸïŒæå°æ¥ç¶ïŒãé©çšããŠããªã¯ãšã¹ããåŠçããã®ã«æé©ãª`product-catalog-service`ã®ã€ã³ã¹ã¿ã³ã¹ãéžæããå©çšå¯èœãªãšãŒãããã®ã€ã³ã¹ã¿ã³ã¹éã§åçãªåæ£ãä¿èšŒããŸãã
- ããã¯ãšã³ãéä¿¡ïŒ`product-catalog-service`ã¯ã次ã«`pricing-service`ãåŒã³åºãå¿ èŠããããããããŸãããããã¯ç¬èªã®ãµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ãå®è¡ããŠãå¥åº·ãª`pricing-service`ã€ã³ã¹ã¿ã³ã¹ã«æ¥ç¶ããŸãã
ãã®åæ£åã§ãããªãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãããã¢ãããŒãã«ãããäžçäžã®ãŠãŒã¶ãŒã¯ãã©ãã«ããŠããåãµãŒãã¹ãäœã€ã³ã¹ã¿ã³ã¹å®è¡ãããŠããŠããã¢ããªã±ãŒã·ã§ã³ã®æ©èœã«è¿ éãã€ä¿¡é Œæ§ã®é«ãã¢ã¯ã»ã¹ãåŸãããšãã§ããŸãã
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã®èª²é¡ãšèæ ®äºé
ååã¯ããã¯ãšã³ãã®ãµãŒãã¹ã¡ãã·ã¥ãšäŒŒãŠããŸããããããããã³ããšã³ãã«é©çšããããšã¯ç¬ç¹ã®èª²é¡ããããããŸãïŒ
- ã¯ã©ã€ã¢ã³ããµã€ãã®è€éãïŒããã³ããšã³ããã¬ãŒã ã¯ãŒã¯ïŒReact, Angular, Vueãªã©ïŒå ã§çŽæ¥ã¯ã©ã€ã¢ã³ããµã€ãã®ãµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ãå®è£ ããããšã¯ãé¢åã§ã¯ã©ã€ã¢ã³ãã¢ããªã±ãŒã·ã§ã³ã«å€§ããªãªãŒããŒãããã远å ããå¯èœæ§ããããŸããããã¯ãã°ãã°ããµãŒããŒãµã€ããã£ã¹ã«ããªãŒãåªå ããåŸåã«ã€ãªãããŸãã
- ç¶æ 管çïŒãã€ã¯ãããã³ããšã³ããå ±æç¶æ ãã»ãã·ã§ã³æ å ±ã«äŸåããŠããå Žåããã®ç¶æ ã忣ããã€ã³ã¹ã¿ã³ã¹éã§æ£ãã管çãããããšãä¿èšŒããããšãéèŠã«ãªããŸããç¶æ ããµãŒããŒã«ãã€ã³ããããŠããå ŽåãIPããã·ã¥ããŒããã©ã³ã·ã³ã°ã¯ã»ãã·ã§ã³ã®æ°žç¶æ§ã«åœ¹ç«ã¡ãŸãã
- ããã³ããšã³ãéã®éä¿¡ïŒãã€ã¯ãããã³ããšã³ãã¯äºãã«éä¿¡ããå¿ èŠããããããããŸããããã®éä¿¡ããBFFãã€ãã³ããã¹ãä»ããŠãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããã«ã¯ãæ éãªèšèšãå¿ èŠã§ãããéä¿¡ãšã³ããã€ã³ããèŠã€ããããã«ãµãŒãã¹ãã£ã¹ã«ããªãŒã掻çšã§ããŸãã
- ããŒã«ãšã€ã³ãã©ïŒå¿ èŠãªã€ã³ãã©ïŒAPIã²ãŒããŠã§ã€ããµãŒãã¹ã¬ãžã¹ããªããããã·ïŒã®ã»ããã¢ãããšç®¡çã«ã¯ãå°éçãªã¹ãã«ãå¿ èŠã§ãããéçšäžã®è€éããå¢ãå¯èœæ§ããããŸãã
- ããã©ãŒãã³ã¹ãžã®åœ±é¿ïŒéæ¥çãªã¬ã€ã€ãŒïŒäŸïŒAPIã²ãŒããŠã§ã€ããããã·ïŒã¯ãã¹ãŠé å»¶ãåŒãèµ·ããå¯èœæ§ããããŸããã«ãŒãã£ã³ã°ãšãã£ã¹ã«ããªãŒããã»ã¹ãæé©åããããšãéèŠã§ãã
- ã»ãã¥ãªãã£ïŒãã€ã¯ãããã³ããšã³ããšããã¯ãšã³ããµãŒãã¹éã®éä¿¡ã®ä¿è·ãããã³ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ã€ã³ãã©èªäœã®ä¿è·ã¯æãéèŠã§ãã
å ç¢ãªããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ã®ããã®ãã¹ããã©ã¯ãã£ã¹
ããã³ããšã³ããã€ã¯ããµãŒãã¹ã«ãµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ã广çã«å®è£ ããããã«ã以äžã®ãã¹ããã©ã¯ãã£ã¹ãæ€èšããŠãã ããïŒ
- ãµãŒããŒãµã€ããã£ã¹ã«ããªãŒãåªå ããïŒã»ãšãã©ã®ããã³ããšã³ããã€ã¯ããµãŒãã¹ã¢ãŒããã¯ãã£ã§ã¯ããµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ã«APIã²ãŒããŠã§ã€ãŸãã¯å°çšã®ã«ãŒãã£ã³ã°ã¬ã€ã€ãŒã掻çšããããšã§ãããã³ããšã³ãã®ã³ãŒããç°¡çŽ åãã管çãäžå€®éæš©åã§ããŸãã
- ç»é²ãšç»é²è§£é€ãèªååããïŒãµãŒãã¹ãéå§æã«èªåçã«ç»é²ããã·ã£ããããŠã³æã«æ£åžžã«ç»é²è§£é€ãããããã«ããŠããµãŒãã¹ã¬ãžã¹ããªãæ£ç¢ºã«ä¿ã¡ãŸããã³ã³ãããªãŒã±ã¹ãã¬ãŒã·ã§ã³ãã©ãããã©ãŒã ã¯ããã°ãã°ãããèªåçã«åŠçããŸãã
- å ç¢ãªãã«ã¹ãã§ãã¯ãå®è£ ããïŒãã¹ãŠã®ãµãŒãã¹ã€ã³ã¹ã¿ã³ã¹ã«å¯ŸããŠãé »ç¹ã§æ£ç¢ºãªãã«ã¹ãã§ãã¯ãèšå®ããŸããããŒããã©ã³ãµãŒãšãµãŒãã¹ã¬ãžã¹ããªã¯ããããã«äŸåããŠå¥åº·ãªã€ã³ã¹ã¿ã³ã¹ã«ã®ã¿ãã©ãã£ãã¯ãã«ãŒãã£ã³ã°ããŸãã
- é©åãªããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ãéžæããïŒãµãŒããŒã®èœåãçŸåšã®è² è·ãã»ãã·ã§ã³ã®æ°žç¶æ§èŠä»¶ãªã©ã®èŠçŽ ãèæ ®ããŠãã¢ããªã±ãŒã·ã§ã³ã®ããŒãºã«æãäžèŽããã¢ã«ãŽãªãºã ãéžæããŸããã·ã³ãã«ïŒäŸïŒã©ãŠã³ãããã³ïŒããå§ããå¿ èŠã«å¿ããŠé²åãããŸãã
- ãµãŒãã¹ã¡ãã·ã¥ã掻çšããïŒè€éãªãã€ã¯ãããã³ããšã³ãã®ãããã€ã¡ã³ãã§ã¯ãå®å šãªãµãŒãã¹ã¡ãã·ã¥ãœãªã¥ãŒã·ã§ã³ïŒIstioãLinkerdãªã©ïŒãæ¡çšããããšã§ãé«åºŠãªãã©ãã£ãã¯ç®¡çãã»ãã¥ãªãã£ããªãã¶ãŒãããªãã£ãªã©ãå æ¬çãªæ©èœã»ãããæäŸã§ããããã¯ãã°ãã°EnvoyãLinkerdãããã·ã掻çšããããšã§å®çŸãããŸãã
- ãªãã¶ãŒãããªãã£ïŒå¯èŠ³æž¬æ§ïŒãèšèšããïŒãã¹ãŠã®ãã€ã¯ããµãŒãã¹ãšãããã管çããã€ã³ãã©ã«å¯ŸããŠãå æ¬çãªãã®ã³ã°ãã¡ããªã¯ã¹ããã¬ãŒã¹ã確ä¿ããŸããããã¯ããã©ãã«ã·ã¥ãŒãã£ã³ã°ãšããã©ãŒãã³ã¹ã®ããã«ããã¯ãçè§£ããããã«äžå¯æ¬ ã§ãã
- ã€ã³ãã©ãä¿è·ããïŒãµãŒãã¹éã®éä¿¡ã®ããã®èªèšŒãšèªå¯ãå®è£ ãããµãŒãã¹ã¬ãžã¹ããªãšããŒããã©ã³ãµãŒãžã®ã¢ã¯ã»ã¹ãä¿è·ããŸãã
- å°åããšã®ãããã€ã¡ã³ããæ€èšããïŒã°ããŒãã«ã¢ããªã±ãŒã·ã§ã³ã®å Žåãäžçäžã®ãŠãŒã¶ãŒã®é å»¶ãæå°éã«æããèé害æ§ãåäžãããããã«ããã€ã¯ããµãŒãã¹ãšãµããŒãã€ã³ãã©ïŒAPIã²ãŒããŠã§ã€ãããŒããã©ã³ãµãŒïŒãè€æ°ã®å°ççãªãŒãžã§ã³ã«ãããã€ããŸãã
- ååŸ©ãšæé©åãè¡ãïŒåæ£ããããã³ããšã³ãã®ããã©ãŒãã³ã¹ãšæ¯ãèããç¶ç¶çã«ç£èŠããŸããã¢ããªã±ãŒã·ã§ã³ãã¹ã±ãŒã«ãé²åããã«ã€ããŠãããŒããã©ã³ã·ã³ã°ã¢ã«ãŽãªãºã ããµãŒãã¹ãã£ã¹ã«ããªãŒã®èšå®ãã€ã³ãã©ã調æŽããæºåãããŠãããŸãã
çµè«
广çãªãµãŒãã¹ãã£ã¹ã«ããªãŒãšããŒããã©ã³ã·ã³ã°ã«ãã£ãŠåŒ·åãããããã³ããšã³ããã€ã¯ããµãŒãã¹ã¡ãã·ã¥ã®æŠå¿µã¯ãçŸä»£çã§ã¹ã±ãŒã©ãã«ããã€å埩åã®ããã°ããŒãã«ãªWebã¢ããªã±ãŒã·ã§ã³ãæ§ç¯ããçµç¹ã«ãšã£ãŠäžå¯æ¬ ã§ããåçãªãµãŒãã¹ã®å Žæã®è€éããæœè±¡åãããã©ãã£ãã¯ãã€ã³ããªãžã§ã³ãã«åæ£ãããããšã§ããããã®ã¡ã«ããºã ã¯ãããŒã ãèªä¿¡ãæã£ãŠç¬ç«ããããã³ããšã³ãã³ã³ããŒãã³ããæ§ç¯ããã³ãããã€ããããšãå¯èœã«ããŸãã
ã¯ã©ã€ã¢ã³ããµã€ããã£ã¹ã«ããªãŒã«ããã®å©ç¹ã¯ãããŸãããAPIã²ãŒããŠã§ã€ã«ãã£ãŠãªãŒã±ã¹ãã¬ãŒã·ã§ã³ããããããµãŒãã¹ã¡ãã·ã¥å ã«çµ±åããããããããšãå€ããµãŒããŒãµã€ããã£ã¹ã«ããªãŒã®å©ç¹ã¯ããã€ã¯ãããã³ããšã³ãã¢ãŒããã¯ãã£ã«ãšã£ãŠéåžžã«é åçã§ããã€ã³ããªãžã§ã³ããªããŒããã©ã³ã·ã³ã°æŠç¥ãšçµã¿åãããããšã§ããã®ã¢ãããŒãã¯ã¢ããªã±ãŒã·ã§ã³ã®ããã©ãŒãã³ã¹ãå¯çšæ§ãç¶æããçµ¶ããå€åããã°ããŒãã«ãªããžã¿ã«ã©ã³ãã¹ã±ãŒãã®èŠæ±ã«é©å¿ã§ããããã«ããŸãããããã®ååãåãå ¥ããããšã¯ãããã¢ãžã£ã€ã«ãªéçºãæ¹åãããã·ã¹ãã ã¬ãžãªãšã³ã¹ããããŠåœéçãªãªãŒãã£ãšã³ã¹ã«å¯ŸããåªãããŠãŒã¶ãŒãšã¯ã¹ããªãšã³ã¹ãžã®éãéãã§ãããã